feat(tui): add full-screen tabbed /status sub-page#81
Merged
yishuiliunian merged 4 commits intomainfrom Apr 5, 2026
Merged
Conversation
a3b044e to
b2e26e2
Compare
…/Usage tabs Replace the old one-line system message with a full-screen sub-page following the existing SubPage pattern (ModelPicker, RewindPicker). - Status tab: session ID, CWD, auth, base URL, model, mode, MCP servers, sources - Config tab: searchable dot-notation settings list with filter input - Usage tab: token metrics, context window, turns, tool calls Key design decisions: - Snapshot-on-open (no live session lock during render) - SessionSnapshot + ConfigSnapshot separation (SRP: session vs disk-loaded data) - Render writes back clamped scroll offset to prevent key handler dead zones - JSON flatten with depth limit, api_key redaction, empty Object/Array handling - Unicode-width-aware key column truncation and padding
- Remove SessionsCmd (replaced by ResumeCmd on main) - Update test_status_cmd to verify SubPage opens instead of system message
Store listener port in Hub struct after start_hub_listener(), expose via SessionController::hub_listener_port(), and show as "Hub Endpoint: 127.0.0.1:<port>" in the Status tab.
b2e26e2 to
8ae4445
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/statusone-line system message with a full-screen tabbed sub-page (Status / Config / Usage)Changes
app/status_page.rs,command/status_cmd.rs,command/status_config.rs,input/status_page_keys.rs,views/status_page/{mod,status_tab,config_tab,usage_tab}.rsapp/{mod,types}.rs,command/{builtin,mod}.rs,input/{mod,sub_page}.rs,render.rs,views/mod.rsTest plan
/statusopens tabbed sub-page, ←/→ switches tabs, ↑/↓ scrolls, Esc closes